/**
 * 格式化日期时间
 * @param {string|number|Date} time 时间
 * @param {string} format 格式，默认为 'YYYY-MM-DD HH:mm:ss'
 * @returns {string} 格式化后的时间字符串
 */
export const formatDateTime = (time, format = 'YYYY-MM-DD HH:mm:ss') => {
  if (!time) return ''
  
  const date = new Date(time)
  
  const year = date.getFullYear()
  const month = String(date.getMonth() + 1).padStart(2, '0')
  const day = String(date.getDate()).padStart(2, '0')
  const hours = String(date.getHours()).padStart(2, '0')
  const minutes = String(date.getMinutes()).padStart(2, '0')
  const seconds = String(date.getSeconds()).padStart(2, '0')
  
  return format
    .replace('YYYY', year)
    .replace('MM', month)
    .replace('DD', day)
    .replace('HH', hours)
    .replace('mm', minutes)
    .replace('ss', seconds)
}

/**
 * 格式化日期
 * @param {string|number|Date} time 时间
 * @returns {string} 格式化后的日期字符串 YYYY-MM-DD
 */
export const formatDate = (time) => {
  return formatDateTime(time, 'YYYY-MM-DD')
}

/**
 * 格式化时间
 * @param {string|number|Date} time 时间
 * @returns {string} 格式化后的时间字符串 HH:mm:ss
 */
export const formatTime = (time) => {
  return formatDateTime(time, 'HH:mm:ss')
} 